Características 1
Características 2
Características 3
¿Qué es un ordenador? Es una máquina diseñada para ayudarle a resolver problemas relativos al tratamiento y procesamiento de la información. Un sistema informático típico tiene:
A un sistema informático se le pueden añadir entre otras cosas:
Memorias periféricas:
* 5 REM PROGRAMA FUNCIONA *10 PRINT "FUNCIONA" *20 END *La instrucción REM (REMark; observación), le dice al ordenador que ignore esta línea. Es utilizada para comentarios que usted desee hacer para su propio uso y para el de otras personas que lean su programa.
La instrucción PRINT (Imprimir), hará que el mensaje o dato que sigue sea impreso o aparezca en la pantalla. Cualquier texto/mensaje entre comillas será impreso exactamente igual a como se ha entrado.
La instrucción END (terminar), le dice a BASIC que termina el programa.
Teclee RUN y observe la pantalla. Obtendrá lo siguiente:
*RUN FUNCIONA *Practique el uso de su terminal entrando y procesando el siguiente programa:
* 5 REM PROGRAMA POEMA *10 PRINT "LAS ROSAS SON ROJAS" *20 PRINT "LAS VIOLETAS SON AZULES" *30 PRINT "SI NOSOTROS PODEMOS" *40 PRINT "APRENDER BASIC" *50 PRINT "ENTONCES USTED TAMBIEN" *60 ENDTeclee RUN y observe la pantalla. Obtendrá este resultado:
*RUN LAS ROSAS SON ROJAS LAS VIOLETAS SON AZULES SI NOSOTROS PODEMOS APRENDER BASIC ENTONCES USTED TAMBIEN *
*10 X=2 *20 PRINT X,Y *15 Y=3 *Instrucción de asignación: Asigna el valor de la derecha a la variable de la izquierda. En este caso, tras la asignación, X contendrá el número 2. Este ejemplo puede ser escrito como: "*10 LET X=2"
Si tras teclear una línea determinada (supongamos la línea 20 del ejemplo anterior) descubre usted que ha cometido un error, puede corregirlo en la línea siguiente insertando un número intermedio entre el de las dos líneas que le correspondan, (en ese caso puede ser el 15). Cuando pulse RUN, las instrucciones se ordenarán en número creciente antes de ejecutarse el programa:
*RUN 2 3 *Si quiere efectuar usted una comprobación, la instrucción LIST hará que el ordenador le muestre lo que lleva escrito hasta el momento. En la pantalla, las instrucciones aparecerán por orden:
*LIST 10 X=2 15 Y=3 20 PRINT X,Y *
Para comprobar que su SAVE a funcionado realmente, teclee NEW, seguido por retorno. El comando NEW, en este caso, borrará lo que tenga en aquel momento en su área de trabajo. Luego teclee LIST, seguido de retorno. No obtendrá ningún listado, solamente el preparado, puesto que ahora está trabajando en un espacio de trabajo en el que aún no hay ningún programa.
Para cargar lo salvado, teclee OLD, seguido del nombre del programa que utilizó usted al salvarlo (no olvide teclear retorno tras cada orden). Luego teclee LIST. Su programa aparecerá, si se salvó bien.
Si ya no necesita más de algún programa almacenada, teclee UNSAVE seguido por el nombre del archivo. Desaparecerá de la memoria de la máquina. Cuando utilice usted el BASIC en tiempo compartido con otros usuario, utilice el UNSAVE para eliminar sus programas siempre que no los necesite ya más.
* 5 REM SUMA *10 PRINT 2 + 7 *RUN 9 *Números reales:
* 5 REM RESTA *10 PRINT 2.7 - 8.342 *RUN -5.642 *Símbolos aritméticos:
Potenciación: ^ o ** Suma: + Multiplicación: * Resta: - División: /
* 5 REM SUMA Y DIVIDE *10 PRINT (3.6+4.2)/(-8.762) *RUN -.8902Otro:
* 5 REM UTILIZACIÓN DE VARIABLES *10 X=3.5 *20 Y=-18.3009 *30 PRINT (X-2+Y**2)/(X-Y)**2 *RUN .7078
*80 X=8.25 *90 Y=-18.428 *100 PRINT X,Y *RUN 8.25 -18.428 *100 PRINT X;Y *RUN 8.25 -18.428 *100 PRINT X,TAB(20), Y *RUN 8.25 -18.428
Para asignar un valor a un número variable, escriba: 10 X=100
Una variable de cadena o variable alfanumérica es un nombre de variable que almacena una hilera de caracteres (como por ejemplo un nombre). En la mayor parte de las versiones del BASIC, un nombre variable alfanumérico consiste en una letra, o en una letra seguida por una o más letras o dígitos y terminando siempre con un signo de dólar ($). En TI-BASIC las cadenas tienen un máximo de 112 caracteres.
Para asignar un valor a una variable alfanumérica, escriba: 15 A$="SMITH"
*10 PRINT "ENTRA UN NUMERO" *20 INPUT x *30 PRINT "GRACIAS" *40 END *RUN ENTRA UN NUMERO ? 243 GRACIAS *Cuando aparece el signo de interrogación la ejecución del programa se detiene hasta que se introduce un número, en este caso 243. La máquina sitúa el número que usted le ha teclado en la localización llamada X.
*100 REM LAB2. INTERES COMPUESTO *110 PRINT "CUANTO QUIERE INVERTIR?" *120 INPUT C *130 PRINT "CUAL ES EL TIPO ANUAL DE INTERES?" *140 INPUT I *150 PRINT "CUANTOS AÑOS QUIERE ESPERAR? *160 INPUT N *170 S=C*(1+I)**N *180 PRINT "TRAS";N;"AÑOS TENDRA";S *230 END *RUN CUANTO QUIERE INVERTIR? ? 10000 CUAL ES EL TIPO ANUAL DE INTERES? ? .17 CUANTOS AÑOS QUIERE ESPERAR? ? 8 TRAS 8 AÑOS TENDRA 35114.5 *
Recuerde esta regla acerca del IF: si la condición es cierta, el programa salta a la instrucción cuyo número aparece después de THEN; si la condición es falsa, el programa prosigue con la siguiente instrucción. Una instrucción IF puede comprobar otras condiciones además de la igualdad. Los símbolos <> emparejados significan no igual, <= significa menor que o igual a y >= significa mayor que o igual a.
* 5 REM ***EJEMPLO 4*** * 10 PRINT "ENTRE UN NUMERO" * 20 INPUT X * 30 IF X=999 THEN 100 * 40 GOTO 10 *100 PRINT "VALE" *120 END *RUN ENTRE UN NUMERO ? 14 ENTRE UN NUMERO ? 999 VALE *La instrucción GOTO simplemente indica al ordenador que salte a una línea determinada.
Podemos utilizar la instrucción IF para añadir flexibilidad a nuestro programa de interés compuesto:
*100 REM LAB2. INTERES COMPUESTO *110 PRINT "CUANTO QUIERE INVERTIR?" *120 INPUT C *130 PRINT "CUAL ES EL TIPO ANUAL DE INTERES?" *140 INPUT I *150 PRINT "CUANTOS AÑOS QUIERE ESPERAR? *160 INPUT N *170 S=C*(1+I)**N *180 PRINT "TRAS";N;"AÑOS TENDRA";S *190 PRINT "DESEA CONTINUAR (S/N)" *200 INPUT A$ *210 IF A$="S" THEN 110 *220 PRINT "FIN DEL TRABAJO" *230 END *RUN CUANTO QUIERE INVERTIR? ? 10000 CUAL ES EL TIPO ANUAL DE INTERES? ? .17 CUANTOS AÑOS QUIERE ESPERAR? ? 8 TRAS 8 AÑOS TENDRA 35114.5 DESEA CONTINUAR (S/N) ? N FIN DE TRABAJO *
* 10 PRINT USING 100, A, B ... *100 : ####.## ##.### PRUEBA COMPLETAdará lugar a la siguiente línea impresa (suponiendo que A = 23.9637 y B = 8.5527):
23.96 -8.552 PRUEBA COMPLETAUna instrucción IMAGE siempre empieza con dos puntos. El primer número dentro de la instrucción PRINT USING se refiere al número de línea de la instrucción IMAGE.
En general, el compilador BASIC reconoce una hilera de signos "#" o una hilera de signos "#" con un punto decimal intercalado como un grupo de posiciones de caracteres donde imprimir una sola variable, ya sea una variable numérica o una variable alfanumérica.
Si no especifica usted sitio suficiente en su hilera de signos "#", y empieza a imprimir un campo que es más largo que el espacio disponible, los caracteres extra de la derecha se perderán. Si intenta imprimir un número que es demasiado grande para el espacio disponible, de todos modos, normalmente se imprimirán asteriscos.
Otros caracteres en una instrucción IMAGE, aparte del signo "#", son impresos tal como están escritos, y el primer carácter de la línea impresa empieza inmediatamente después de los dos puntos. En una instrucción IMAGE, los espacios en blanco no son ignorados.
* 80 X=8.25 * 90 Y=-18.428 *100 PRINT USING 200, X, Y *200 :##.## ###.### *RUN 8.25 -18.428 *
La instrucción FOR tiene la forma general:
FOR índice = valor de TO valor STEP incremento del bucle inicio final índice del bucle es una variable. Los valores de inicio y final determinan el número de veces que se repetirán las instrucciones.La instrucción NEXT tiene la forma general:
NEXT índice del bloque Le dice al ordenador que añada el incremento al índice y vuelva a la instrucción FOR.Algunos ejemplos:
FOR I=1 TO 10 STEP 2 ... <--Se repetirá 5 veces NEXT I FOR J=2 TO 10 STEP 11 ... <--Se repetirá 10 veces NEXT JUn programa completo:
* 10 REM BUCLES FOR NEXT * 20 FOR I=1 TO 5 <--El incremento de default es 1 * 30 PRINT "ADELANTE MIS CORSARIOS" * 40 NEXT I * 50 PRINT " !EUREKA!" * 60 END *RUN ADELANTE MIS CORSARIOS ADELANTE MIS CORSARIOS ADELANTE MIS CORSARIOS ADELANTE MIS CORSARIOS ADELANTE MIS CORSARIOS *
* 10 REM EJEMPLO DATOS * 20 DATA 4,6,2 * 30 DATA -6,8El sistema recoge todas sus instrucciones DATA separadas en una instrucción más larga, empezando con la instrucción DATA con el número de línea más pequeño. Cada vez que es ejecutada una instrucción READ en su programa, la siguiente entrada disponible en las instrucciones DATA es utilizada para proporcionar los datos para la instrucción READ. Así, si añadimos al programa de arriba las instrucciones:
* 40 READ A,B * 50 READ C,D,Ese producirán los siguientes pasos:
A=4 B=6 C=2 D=-6 E=8Si no hay suficientes datos para suministrar a todas las instrucciones READ, se imprimirá un mensaje al respecto. Para ver lo que es este mensaje, añada estas líneas y procese el programa:
* 60 PRINT A,B,C,D,E * 70 READ F <--Imprimirá un mensaje como "OUT OF DATA"¿Y si se desea leer los datos alfanuméricos? Entonces necesitará utilizar variables alfanuméricas en la instrucción READ para almacenar los datos, y la cadena de caracteres tiene que sustituirse normalmente entre comillas en la instrucción DATA:
* 130 DATA 1,134.89,"HILTON HAWAI" ... * 270 READ T,A,M$
100 REM LAB 3. CUENTA DE GASTOS 110 REM SIGUEN 10 INSTRUCCIONES DE DATOS, 120 REM DANDO CADA UNA, POR ORDEN, 130 REM TIPO, CANTIDAD Y MOTIVO 140 DATA 1,134.89,"HILTON HAWAI" 150 DATA 3,44.32,"JOE'S CASINO" 160 DATA 2,4.89,"CHEN'S QUICK FOOD" 170 DATA 1,5.88,2,"BETTY'S BREAKFAST NOOK" 180 DATA 1,3.66,"TAXI" 190 DATA 3,1.45,"DIAMOND HEAD TOURS" 200 DATA 1,46.89,"HILTON HAWAI" 210 DATA 2,33.77,"BUD'S BOOKS" 220 DATA 2,14.39,"TAXI" 230 DATA 3,57.99,"JOE'S CASINO" 240 REM *** FIN DE LOS DATOS *** 250 PRINT "REEMBOLSO CUENTA DE GASTOS" 260 PRINT "TIPO CONCEPTO CANT. REEMB." 270 FOR I=1 TO 10 280 READ T,A,M$ 290 IF T<>1 THEN 310 300 R=A 310 GOTO 380 320 IF T<>2 THEN 340 330 R=.80*A 340 GOTO 380 350 IF T<>3 THEN 370 360 R=.2*A 370 GOTO 380 380 PRINT "NUM. TIPO EQUIVOCADO EN LINEA DATA",T 390 REM PROGRAMA PROSIGUE AQUI 400 PRINT USING 410,T,M$,A,R 410 :# ############# ###.## ###.## 420 NEXT I 430 PRINT "TODAS LAS INSTRUCCIONES PROCESADAS" 440 END RUN REEMBOLSO DE CUENTA DE GASTOS TIPO MOTIVO CANT. REEMB. 1 HILTON HAWAI 134.89 134.89 3 JOE'S CASINO 44.32 8.86 2 CHEN'S QUICK FOOD 4.89 3.91 1 BETTY'S BREAKFAST NOOK 5.88 5.88 1 TAXI 3.66 3.66 3 DIAMOND HEAD TOURS 1.45 0.29 1 HILTON HAWAI 46.89 46.89 2 BUD'S BOOKS 33.77 27.02 2 TAXI 14.39 11.51 3 JOE'S CASINO 57.99 11.60
Una serie 1D o unidimensional es una hilera de celdillas, conteniendo cada una de ellas un valor. He aquí un ejemplo:
Q 5 3 1 -2 8 4 -9 0 0 7 1 2 3 4 5 6 7 8 9 10En el ejemplo mostrado aquí, el nombre de la serie es Q, y hay diez celdillas en la serie. Cada celdilla tiene un número. Si deseamos referirnos al número de la celdilla 7, escribiremos Q(7), como en: X=Q(7). Si deseamos situar un cierto número en la celdilla 2 de Q: Q(2)=3.14
En casi todas las versiones del BASIC hay una celdilla extra, la celdilla 0, que está disponible mediante alguna instrucción especial. Si utiliza una serie con menos de 10 celdillas no tiene que darle dimensión. Si, en cambio, necesita más de 10 celdillas, entonces antes de empezar a utilizar la serie, debe colocar una instrucción de dimensión diciendo su nombre y lo grande que es:
100 DIM A(15), X(15), M$(300)Las series pueden tener los mismos nombres que las variables numéricas. El siguiente programa construye una serie conteniendo los 20 primeros números nones:
10 REM NUMEROS NONES 20 DIM N(20) 30 FOR K=1 TO 20 40 N(K)=2*K-1 50 NEXT K 60 FOR I=1 TO 20 70 PRINT N(I) 80 NEXT I 90 END
Cuando todas las instrucciones DATA hayan sido procesadas, imprima las ventas totales para cada uno de los 5 artículos; luego imprima "trabajo terminado" y pare.
110 REM *** LAB 4. ANALISIS DE VENTAS 120 DATA 3 <--- ESTO INDICA EL NÚMERO DE REPRESENTANTES 130 DATA "LOPEZ",3,0,5,4,10 140 DATA "PEREZ",1,6,10,2,3 150 DATA "PUIG",0,10,3,6,6 160 REM FIN DE LOS DATOS 170 REM EMPIEZA EL PROGRAMA 180 PRINT "ANALISIS DE VENTAS" 190 PRINT " VENTAS POR ARTICULO" 200 PRINT USING 400, "REPRESENTANTES", 1,2,3,4,5,"TOTAL VENTAS" 210 PRINT 220 READ N 230 REM N ES EL NUMERO DE REPRESENTANTES 240 REM LA SERIE 1D S CONTIENE LAS VENTAS DE LOS 5 ARTICULOS 250 REM LA SERIE 1D D CONTIENE LOS TOTALES POR ARTICULOS 260 DIM S(5),D(5) 270 FOR I=1 TO N 280 READ N$,D(1),D(2),D(3),D(4),D(5) 290 REM INICIALIZAR TOTAL VENTAS A CERO 300 T=0 310 FOR J=1 TO 5 320 REM TOMAR LAS VENTAS DE CADA 330 REM ARTICULO Y SUMARLAS AL TOTAL 340 REM DE VENTAS POR REPRESENTANTE Y 350 REM SUMARLAS TAMBIEN AL TOTAL 360 REM DE VENTAS POR ARTICULO 370 T=T+D(J) 380 S(J)=S(J)+D(J) 390 NEXT J 400 PRINT USING 390,D(1),D(2),D(3),D(4),D(5),T 410 :#### ## ## ## ## ## ## 420 :#### # # # # # #### 430 NEXT I 440 PRINT 450 PRINT USING 390,"POR ARTICULO",S(1),S(2),S(3),S(4),S(5) 460 PRINT 470 PRINT "TRABAJO TERMINADO" 480 END ANALISIS DE VENTAS VENTAS POR ARTICULO REPRESENT. 1 2 3 4 5 TOTAL VENTAS PEREZ 3 0 5 4 10 22 LOPEZ 1 6 10 2 3 22 PUIG 0 10 3 6 6 25 POR ART. 4 16 18 12 19 TRABAJO TERMINADO
1 2 3 4 1 100 20 3 1 2 20 .02 25 18 3 10 1.0 16 15Para obtener un valor de una serie 2D empleamos dos números, el de la fila y el de la columna, en este orden. Por ejemplo, para transferir el valor en F(3,2) a una variable llamada X, escribimos: "15 X=F(3,2)". Para llenar una matriz como la de arriba:
100 REM 2D EJEMPLO 110 DATA 100,20,3,1 120 DATA 20,.02,25,18 130 DATA 10,1.0,16,15 140 DIM F(3,4) <-- ES SIEMPRE NECESARIA UNA INSTRUCCION DE DIMENSION 150 FOR I=1 TO 3 160 FOR J=1 TO 4 170 READ F(I,J) 180 PRINT F(I,J), 190 NEXT J 200 PRINT 210 NEXT ISi su sistema posee MAT READ y MAT PRINT se puede simplificar:
150 MAT READ F 160 MAT PRINT F
N O D P 2345 2 5 .07 2346 5 3 3.5 2347 1 2 24.2 2348 4 3 0.77 2349 5 4 1.98 2350 3 1 6.97 2351 1 4 0.22Nuestro procedimiento lee y procesa una carga (instrucción DATA) cada vez. Los cuatro valores son leídos en N,O,D y P; la distancia entre origen y destino es tomada de una tabla bidimensional, llamada K:
Almacén de destino 1 2 3 4 5 Almacén 1 0 2010 1338 3757 3905 de origen 2 2010 0 1222 3749 3763 3 1338 1222 0 2744 2866 4 3757 3749 2744 0 242 5 3905 3763 2866 242 0Esta tabla K, o tabla kilométrica, está almacenada en una serie bidimensional de dimensión y nombre K(5,5). La distancia entre origen 2 y destino 5 es K(2,5), y contendrá el valor 3763 durante todo el proceso.
Supongamos que K1=k(O,D) sea la distancia entre origen y destino.
Una vez determinada la distancia K1, es computado el costo de envío por cada uno de los tres métodos. Esto requiere otra tabla bidimensional a la que poder acudir, esta vez una Tabla de Fletes F.
Límite peso Coste por Coste por cambio de debajo encima tarifa Avión 0.25 7.50 5.28 Tren 33.00 0.63 0.42 Camión 3.0 1.32 0.34 Unid. Toneladas Dólares Dólares por km/ton por km/tonPara cada método I (I=1,2,3), compute el coste C(I) como sigue:
K1*P*F(I,2) si P < F(I,1) C(I) = K1*(F(I,1)*F(I,2)+(P-F(I,1))*F(I,3)) si P >= F(I,1)Encuentre qué valor de I posee el menor coste C(I). Imprima el número de embarque, origen, destino, distancia (K1), y el método de menor costo, seguido por su costo.
100 REM *** LAB 5. ANALISIS DE COSTES DE TRANSPORTE *** 110 PRINT "*** LAB 5. ANALISIS DE COSTES DE TRANSPORTE ***" 120 REM SIGUEN DATOS PARA TABLA DE KILOMETROS 130 DATA 0,2010,1338,3757,3905 140 DATA 2010,0,1222,3749,3763 150 DATA 1338,1222,0,2744,2866 160 DATA 3757,3749,2744,0,242 170 DATA 3905,3763,2866,242,0 180 REM FIN DATOS TABLA KILOMETROS 190 REM PONER DATOS EN MATRIZ 200 DIM K(5,5) 210 MAT READ K 220 PRINT "TABLA KILOMETROS" 230 MAT PRINT K 240 REM SIGUEN DATOS PARA TABLA FLETES 250 DATA 0.25,7.50,5.28 260 DATA 33.00,0.63,0.42 270 DATA 3.0,1.32,0.34 280 REM FIN DATOS TABLA FLETES 290 REM PONER DATOS EN MATRIZ 300 DIM F(3,3) 310 MAT READ F(3,3) 320 PRINT "TABLA FLETES" 330 MAT PRINT F 340 REM SIGUEN DATOS A PROCESAR 350 DATA 2345,2,5,.07 360 DATA 2346,5,3,3.5 370 DATA 2347,1,2,24.2 380 DATA 2348,4,3,0.77 390 DATA 2349,5,4,1.98 400 DATA 2350,3,1,6.97 410 DATA 2351,1,4,0.22 420 DATA 0,0,0,0 <--- SEÑALA EL FINAL DE LOS DATOS 430 REM FIN DE LOS DATOS 440 PRINT USING 670 450 REM INICIAR INSTRUCCIONES DE PROCESO DE DATOS 460 READ N,O,D,P 470 IF N=0 THEN 700 <--- BUSCA EL FINAL DE LOS DATOS 480 REM BUSCA DISTANCIA 490 K1=K(O,D) 500 FOR I=1 TO 3 510 REM COMPUTAR COSTE PARA METODO I 520 IF P>=F(I,1) THEN 550 530 C(I)=K1*P*F(I,2) 540 GOTO 560 550 C(I)=K1*(F(I,1)*F(I,2)+(P-F(I,1))*F(I,3)) 560 NEXT I 570 REM HALLAR METODO DE MENOR COSTO 580 T=C(1) 590 FOR J=2 TO 3 600 IF C(J)>=T THEN 630 610 T=C(J) 620 M=J 630 NEXT J 640 REM IMPRIMIR DATOS EMBARQUE Y SOLUCION 650 PRINT USING 660,N,O,D,P,K1,M,C(M) 660 : #### # # ##.## #### # #####.## 670 : NUM ORIG DEST PESO DIST MET COSTE 680 REM LEER NUEVO EMBARQUE 690 GOTO 460 700 PRINT "FIN DATOS; TRABAJO TERMINADO" 710 END RUN TABLA KILOMETROS 0 2010 1338 3757 3905 2010 0 1222 3749 3763 1338 1222 0 2744 2866 3757 3749 2744 0 242 3905 3763 2866 242 0 TABLA FLETES 0.25 7.50 5.28 33.00 0.63 0.42 3.0 1.32 0.34 NUM ORIG DEST PESO DIST MET COSTE 2345 2 5 0.07 3763 2 165.95 2346 5 3 3.5 2866 2 6319.53 2347 1 2 24.2 2010 3 22447.68 2348 4 3 0.77 2744 2 1331.11 2349 5 4 1.98 242 2 301.87 2350 3 1 6.97 1338 2 5875.29 2351 1 4 0.22 3757 2 520.72 FIN DATOS; TRABAJO TERMINADOHay un ligero error en el programa anterior que puede corregir tras procesarlo tal como está. En la línea 620, cualquier valor de J que produzca un costo inferior es almacenado en la variable M a 1 tras haber inicializado la localización temporal T. Para fijar el programa, inserte "585 M=1" y procéselo de nuevo ¿Hay algún cambio en la salida?
Operadores de cadena &
Operadores de relación >, <, =, >=, <=, <>
Rango numérico -1E-128 a -9.9999999999999E+127, cero, 1E-128 a 9.9999999999999E+127
Conjuntos de caracteres
Conjunto Códigos ASCII Conjunto Códigos ASCII 1 32-39 9 96-103 2 40-47 10 104-111 3 48-55 11 112-119 4 56-63 12 120-127 5 64-71 13 128-135 6 72-79 14 136-143 7 80-87 15 144-151 8 88-95 16 152-159Código de colores
Valor Color Valor Color 1 Transparente 9 Rojo medio 2 Negro 10 Rojo claro 3 Verde medio 11 Amarillo oscuro 4 Verde claro 12 Amarillo claro 5 Azul oscuro 13 Verde oscuro 6 Azul claro 14 Morado 7 Rojo oscuro 15 Gris 8 Cyan 16 BlancoABS(número) Función, regresa el valor absoluto.
ASC(cadena) Función, regresa el código ASCII del primer carácter de la cadena.
ATN(radianes) Función, regresa el arco tangente trigonométrico.
BREAK |número de línea|. Comando. Enunciado, hace que el programa se detenga cuando se encuentra.
BYE Comando. Cierra los archivos abiertos y sale de TI Basic.
CALL CHAR(código de caracteres, identificador de patrón) Comando. Enunciado. Redefine el código ASCII especificado usando una cadena codificada de 16 caracteres hexadecimales.
CALL CLEAR Comando. Enunciado. Pone espacios (ASCII 32) en toda la pantalla.
CALL COLOR(conjunto de caracteres, color de frente, color de fondo) Comando. Enunciado. Especifica el color de frente y fondo de los caracteres especificados en el conjunto de caracteres.
CALL GCHAR(renglón, columna, variable) Comando. Enunciado. Regresa el código ASCII del carácter localizado en el renglón (1-24) y columna (1-32) especificadas.
CALL HCHAR(renglón, columna, código ASCII de un carácter |,repeticiones|) Comando. Enunciado. Pone el carácter en el renglón y columna especificadas, opcionalmente lo repite horizontalmente.
CALL JOYST(unidad de llave,x,y) Comando. Enunciado. Entra información de la posición de la unidad de llave (palanca de mando 1-4) en x (-4,0,4) y en y (-4,0,4).
CALL KEY(unidad de llave, variable de regreso, variable de estado) Comando. Enunciado. Asigna el código ASCII de la tecla presionada en la unidad de llave (palanca de mando 1-4 o teclado 5) a la variable de regreso. La variable de estado puede regresar: 1=nueva tecla presionada, -1=misma tecla presionada, 0=no hay tecla presionada.
CALL SCREEN(código de color) Comando. Enunciado. Cambia el color de la pantalla.
CALL SOUND (duración, frecuencia_1, volumen_1|, frecuencia_2, volumen_2||, frecuencia_3, volumen_3||, frecuencia_4, volumen_4|) Comando. Enunciado. Controla hasta tres generadores de tonos y uno de ruido. Los parámetros de los tonos y los ruidos pueden ocurrir en cualquier orden. Una duración negativa causa que el sonido se actualice inmediatamente.
CHR$(número) Función. Regresa el carácter correspondiente al valor ASCII especificado.
CLOSE #número-archivo|:DELETE| Comando, Enunciado. Discontinua la asociación entre un archivo y un programa, opcionalmente borra el archivo.
{CONTINUE}{CON} Comando. Continua la ejecución de un programa después de que un BREAK ha ocasionado que se detenga.
COS(radianes) Función. Regresa el coseno trigonométrico.
DATA lista de datos Enunciado. Almacena constantes numéricas y de cadena en un programa.
DEF nombre de función|(parámetros)|=expresión Enunciado. Asocia una expresión (numérica o de cadena) definida por el usuario con el nombre de una función.
DELETE {nombre de archivo, nombre de programa}. Comando. Borra el archivo o el programa del sistema de almacenamiento de la computadora.
DIM {nombre de arreglo(entero1|,entero 2||,entero 3|)}... Comando. Enunciado. Dimensiona los arreglos listados de acuerdo a los enteros especificados.
DISPLAY |lista| Comando. Enunciado. Ver enunciado PRINT.
{EDIT número de línea}{número de línea {flecha arriba}{flecha abajo}} Comando. Despliega una línea del programa para su edición.
END Comando. Enunciado. Termina la ejecución de un programa.
EOF(número) Función. Regresa la condición de fin de archivo del archivo especificado: 0: no está en el fin. 1: fin lógico. -1: fin físico.
EXP(número) Función. Regresa el valor exponencial (e^número) del argumento.
FOR variable de control=valor inicial TO limite |STEP incremento| Enunciado. Repite la ejecución de los enunciados entre las líneas FOR y NEXT hasta que la variable de control exceda el límite. El STEP de default es 1.
GOSUB número de línea Enunciado. Transfiere el control a la subrutina especificada en el número de línea hasta que se encuentre un RETURN.
GOTO número de línea Enunciado. Transfiere el control al número de línea especificado.
IF {expresión de relación}{expresión numérica} THEN número de línea 1 |ELSE número de línea 2| Enunciado. Transfiere el control al número de línea 1 si la expresión de relación es verdadero o la expresión numérica no es igual a cero. Si es falso o igual a cero el control pasa a la siguiente línea u opcionalmente al número de línea 2.
INPUT |pregunta:| lista de variables Enunciado. Suspende el programa hasta que el usuario entre datos desde el teclado. La pregunta opcional indica que datos deben ser entrados.
INPUT #número de archivo|,REC número de registro|: lista de variables Enunciado. Entra datos del archivo especificado a las variables listadas. Los registros se leen secuencialmente a menos que la cláusula REC se use.
INT(número) Función. Regresa el entero más grande que sea menor o igual al argumento.
LEN(cadena) Función. Regresa el número de caracteres de la cadena.
[LET] variable=expresión Comando. Enunciado. Asigna el valor de la expresión a la variable.
LIST [{número de línea}{línea 1-línea 2}{-línea}{línea-}] Comando. Despliega los enunciados del programa contenidos entre las líneas especificadas.
LOG(número) Función. Regresa el logaritmo natural.
NEW Comando. Limpia la memoria y la pantalla y prepara a la computadora para un nuevo programa.
NEXT variable de control Enunciado. Ver el enunciado FOR.
{NUMBER}{NUM} |línea inicial||, incremento| Comando. Genera automáticamente números de línea secuenciales para facilitar la escritura de programas.
OLD file-name Comando. Carga un programa del dispositivo de almacenamiento a la memoria de la computadora.
ON número GOSUB lista de números de línea Enunciado. Transfiere el control a la subrutina cuya línea de empiezo esté en la posición correspondiente al número en la lista de números de línea.
ON número GOTO lista de números de línea Enunciado. Transfiere el control a la línea que esté en la posición correspondiente al número en la lista de números de línea.
OPEN #número de archivo:nombre de archivo|, organización de archivo||, tipo de archivo||, modo de apertura||, tipo de registro| Comando. Enunciado. Prepara un programa para usar un archivo específico:
POS{|lista de impresión|}{#número de archivo|,REC número de registro|}{:lista de impresión} Comando. Enunciado. Imprime en la pantalla o en un archivo externo o dispositivo. La cláusula REC hace que la salida sea a un registro específico.
RANDOMIZE |semilla| Comando. Enunciado. Resetea el generador de números aleatorios a una secuencia impredecible. Con la semilla opcional (número), la secuencia es repetible.
READ lista de variables Enunciado. Asigna las constantes numéricas y de cadena en el enunciado DATA a las variables listadas.
REM Comando. Enunciado. Documentación interna del programa.
{RESEQUENCE}{RES} |línea inicial||,incremento| Comando. Renumera los enunciados de un programa empezando en 100 y en incrementos de 10. Se pueden especificar el número de línea inicial y el incremento.
RESTORE {#número de archivo|,REC número de registro|}{|número de línea|} Comando. Enunciado. Indica el número de registro o línea DATA desde donde la siguiente instrucción READ leerá sus datos. Si no se le dan parámetros, el primer registro de un archivo o la primera instrucción DATA serán las leídas.
RETURN Enunciado. Transfiere el control del programa desde una subrutina hacia la siguiente línea correspondiente al GOSUB o al ON..GOSUB que llamó a la subrutina.
RND Función. Genera un número pseudo aleatorio entre cero y uno.
RUN |número de línea| Comando. Empieza la ejecución de un programa en la línea con número más bajo o en la línea especificada.
SAVE nombre de archivo Comando. Pone una copia del programa en el dispositivo especificado.
SEG$(cadena,posición,longitud) Función. Regresa una subcadena de la cadena que empieza en posición y con la longitud especificada.
SGN(número) Función. Regresa 1 si el argumento es positivo, 0 si el argumento es cero y -1 si el argumento es negativo.
SIN(radianes) Función. Regresa el seno trigonométrico.
SQR(número) Función. Regresa la raíz cuadrada del número.
STOP Comando. Enunciado. Termina la ejecución del programa.
STR$(número) Función. Convierte el valor del argumento a una cadena.
TAB(número) Función. Controla la posición de columna de la salida de un enunciado PRINT o DISPLAY.
TAN(radianes) Función. Regresa la tangente trigonométrica.
TRACE Comando. Enunciado. Lista el número de línea de los enunciados antes de que sean ejecutados.
UNBREAK |lista de números de líneas| Comando. Enunciado. Quita todos los BREAK o solo aquellos que estén en la lista de números de líneas.
UNTRACE Comando. Enunciado. Cancela el comando TRACE.
VAL(cadena) Función. Convierte la cadena de un número a una constante numérica.
Códigos Modos TI99/4 & Modos Nombre de Teclas de BASIC Pascal Función Función 1 129 AID FCTN 7 2 130 CLEAR FCTN 4 3 131 DELete FCTN 1 4 132 INSert FCTN 2 5 133 QUIT FCTN = 6 134 REDO FCTN 8 7 135 ERASE FCTN 3 8 136 LEFT FCTN S 9 137 RIGHT FCTN D 10 138 DOWN FCTN X 11 139 UP FCTN E 12 140 PROC'D FCTN 6 13 141 ENTER ENTER 14 142 BEGIN FCTN 5 15 143 BACK FCTN 9 Códigos Modos TI99/4 & Modos Código BASIC Pascal Mnemónico Presionar Comentario 129 1 SOH CONTROL A Start Of Heading 130 2 STX CONTROL B Start of TeXt 131 3 ETX CONTROL C End of TeXt 132 4 EOT CONTROL D End Of Transmission 133 5 ENQ CONTROL E ENQuiry 134 6 ACK CONTROL F ACKnowledge 135 7 BEL CONTROL G BELl 136 8 BS CONTROL H BackSpace 137 9 HT CONTROL I Horizontal Tabulation 138 10 LF CONTROL J Line Feed 139 11 VT CONTROL K Vertical Tabulation 140 12 FF CONTROL L Form Feed 141 13 CR CONTROL M Carriage Return 142 14 SO CONTROL N Shift Out 143 15 SI CONTROL O Shift In 144 16 DLE CONTROL P Data Link Escape 145 17 DC1 CONTROL Q Device Control 1 (X-ON) 146 18 DC2 CONTROL R Device Control 2 147 19 DC3 CONTROL S Device Control 3 (X-ON) 148 20 DC4 CONTROL T Device Control 4 149 21 NAK CONTROL U Negative AcKnowledge 150 22 SYN CONTROL V SYNchronous Idle 151 23 ETB CONTROL W End of Transmission Block 152 24 CAN CONTROL X CANcel 153 25 EM CONTROL Y End of Medium 154 26 SUB CONTROL Z SUBstitute 155 27 ESC CONTROL . ESCape 156 28 FS CONTROL : File Separator 157 29 GS CONTROL = Group Separator 158 30 RS CONTROL 8 Record Separator 159 31 US CONTROL 9 Unit Separator Código ASCII Carácter Código ASCII Carácter 32 (espacio) 71 G 33 ! (exclamación) 72 H 34 " (comilla) 73 I 35 # (número) 74 J 36 $ (moneda) 75 K 37 % (porcentaje) 76 L 38 & (y comercial) 77 M 39 ' (apóstrofe) 78 N 40 ( (paréntesis) 79 O 41 ) (paréntesis) 80 P 42 * (asterisco) 81 Q 43 + (más) 82 R 44 , (coma) 83 S 45 - (menos) 84 T 46 . (punto) 85 U 47 / (diagonal) 86 V 48 0 87 W 49 1 88 X 50 2 89 Y 51 3 90 Z 52 4 91 [ (paréntesis cuadrado) 53 5 92 \ (diagonal invertida) 54 6 93 ] (paréntesis cuadrado) 55 7 94 ^ (exponente) 56 8 95 _ (guión bajo) 57 9 96 ` (acento grave) 58 : (dos puntos) 97 a 59 ; (punto y coma) 98 b 60 < (menor que) 99 c 61 = (igual) 100 d 62 > (mayor que) 101 e 63 ? (interrogación) 102 f 64 @ (arroba) 103 g 65 A 104 h 66 B 105 i 67 C 106 j 68 D 107 k 69 E 108 l 70 F 109 m 110 n 111 o 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w 120 x 121 y 122 z 123 { (llave) 124 | 125 } (llave) 126 ~ (tilde) 127 DEL 128-159 (definidos por el usuario)
Frecuencia Nota Frecuencia Nota 110 A 440 A (sobre C media) 117 A#, Bb 466 A#, Bb 123 B 494 B 131 C (baja) 523 C (alta) 139 C#, Db 554 C#, Db 147 D 587 D 156 D#, Eb 622 D#, Eb 165 E 659 E 175 F 698 F 185 F#, Gb 740 F#, Gb 196 G 784 G 208 G#, Ab 831 G#, Ab 220 A(bajo C media) 880 A (sobre C alta) 233 A#, Bb 932 A#, Bb 247 B 988 B 262 C (media) 1047 C (alta) 277 C#, Db 1109 C#, Db 294 D 1175 D 311 D#, Eb 1245 D#, Eb 330 E 1319 E 349 F 1397 F 370 F#, Gb 1480 F#, Gb 392 G 1568 G 415 G#, Ab 1661 G#, Ab 440 A(sobre C media) 1760 A
Los exponentes Radix-100 tienen un rango de -64 a 63 que representan valores decimales de 10^(-128) a 10^(128). La combinación de la mantisa y el exponente proveen un rango decimal que va de -1E-128 a -9.9999999999999E+127, cero y 1E-128 a 9.9999999999999E+127
El formato interno de cada valor numérico consiste en 8 bytes. El primer byte contiene el exponente y su signo, modificado por el hexadecimal 40. Los bytes remanentes contienen la mantisa, con el dígito más significativo al principio. El número es normalizado para que el punto decimal esté inmediatamente después del dígito más significativo. Si el número es negativo, entonces los dos primeros bytes son complementados
Ejemplos:
EXP MSD LSD 127 = 41 01 1B 00 00 00 00 00 0.5 = 3F 32 00 00 00 00 00 00 pi/2 = 40 01 39 07 60 20 43 5F -pi/2 = BF FF 39 07 60 20 43 5F